# Cangjie 运行时镜像
# 基于 Ubuntu 22.04（满足 glibc 2.27+ 和 OpenSSL 3 要求）
FROM ubuntu:22.04

# 设置环境变量避免交互式安装
ENV DEBIAN_FRONTEND=noninteractive

# 安装运行时必需的依赖
# 特别注意：Ubuntu 22.04 使用 OpenSSL 3，但库文件命名可能不同
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
    libstdc++6 \
    openssl \
    libssl3 \
    libssl-dev \
    libffi8 \
    ca-certificates \
    binutils && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# 创建 OpenSSL 兼容性链接
RUN ldconfig && \
    # 创建符号链接确保兼容性
    ln -sf /usr/lib/x86_64-linux-gnu/libssl.so.3 /usr/lib/x86_64-linux-gnu/libssl.so && \
    ln -sf /usr/lib/x86_64-linux-gnu/libcrypto.so.3 /usr/lib/x86_64-linux-gnu/libcrypto.so 

# 创建仓颉运行时目录
RUN mkdir -p /cangjie

# 复制仓颉运行时文件
COPY cangjie/runtime /cangjie/runtime

# 设置环境变量 - 修复语法错误
ENV CANGJIE_HOME=/cangjie \
    LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/cangjie/runtime/lib/linux_x86_64_llvm:/cangjie/lib \    
    CANGJIE_RUNNING_IN_CONTAINER=true \
    SPIRE_HTTP_PORT=80